package uml.construct.singleton;

/**
 * 单例--通过IoDH【initialization on demand holder】<br>
 * 既可以实现单例对象延迟加载，又可以保证线程安全（由Java虚拟机），又不影响系统性能。不失为最好的实现单例的方式。<br>
 * 缺点是很多面向对象的语言不像Java语言这样支持IoDH技术。<br>
 * on 2022/12/22 14:59
 */
public class IoDHSingleton {
    private IoDHSingleton() {
    }

    public static class ClassHolder {
        private static final IoDHSingleton instance = new IoDHSingleton();
    }

    public static IoDHSingleton getInstance() {
        return ClassHolder.instance;
    }
}
